home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / table / DefaultTableModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  5.0 KB  |  274 lines

  1. package javax.swing.table;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Enumeration;
  5. import java.util.Vector;
  6. import javax.swing.event.TableModelEvent;
  7.  
  8. public class DefaultTableModel extends AbstractTableModel implements Serializable {
  9.    protected Vector dataVector;
  10.    protected Vector columnIdentifiers;
  11.  
  12.    public DefaultTableModel() {
  13.       this((Vector)null, 0);
  14.    }
  15.  
  16.    public DefaultTableModel(int var1, int var2) {
  17.       Vector var3 = new Vector(var2);
  18.       var3.setSize(var2);
  19.       this.setColumnIdentifiers(var3);
  20.       this.dataVector = new Vector();
  21.       this.setNumRows(var1);
  22.    }
  23.  
  24.    public DefaultTableModel(Vector var1, int var2) {
  25.       this.setColumnIdentifiers(var1);
  26.       this.dataVector = new Vector();
  27.       this.setNumRows(var2);
  28.    }
  29.  
  30.    public DefaultTableModel(Vector var1, Vector var2) {
  31.       this.setDataVector(var1, var2);
  32.    }
  33.  
  34.    public DefaultTableModel(Object[] var1, int var2) {
  35.       this(convertToVector(var1), var2);
  36.    }
  37.  
  38.    public DefaultTableModel(Object[][] var1, Object[] var2) {
  39.       this.setDataVector(var1, var2);
  40.    }
  41.  
  42.    public void addColumn(Object var1) {
  43.       this.addColumn(var1, (Vector)null);
  44.    }
  45.  
  46.    public void addColumn(Object var1, Vector var2) {
  47.       if (var1 == null) {
  48.          throw new IllegalArgumentException("addColumn() - null parameter");
  49.       } else {
  50.          this.columnIdentifiers.addElement(var1);
  51.          int var3 = 0;
  52.  
  53.          for(Enumeration var4 = this.dataVector.elements(); var4.hasMoreElements(); ++var3) {
  54.             Object var5;
  55.             if (var2 != null && var3 < var2.size()) {
  56.                var5 = var2.elementAt(var3);
  57.             } else {
  58.                var5 = null;
  59.             }
  60.  
  61.             ((Vector)var4.nextElement()).addElement(var5);
  62.          }
  63.  
  64.          ((AbstractTableModel)this).fireTableStructureChanged();
  65.       }
  66.    }
  67.  
  68.    public void addColumn(Object var1, Object[] var2) {
  69.       this.addColumn(var1, convertToVector(var2));
  70.    }
  71.  
  72.    public void addRow(Vector var1) {
  73.       if (var1 == null) {
  74.          var1 = new Vector(this.getColumnCount());
  75.       } else {
  76.          var1.setSize(this.getColumnCount());
  77.       }
  78.  
  79.       this.dataVector.addElement(var1);
  80.       this.newRowsAdded(new TableModelEvent(this, this.getRowCount() - 1, this.getRowCount() - 1, -1, 1));
  81.    }
  82.  
  83.    public void addRow(Object[] var1) {
  84.       this.addRow(convertToVector(var1));
  85.    }
  86.  
  87.    protected static Vector convertToVector(Object[] var0) {
  88.       if (var0 == null) {
  89.          return null;
  90.       } else {
  91.          Vector var1 = new Vector(var0.length);
  92.  
  93.          for(int var2 = 0; var2 < var0.length; ++var2) {
  94.             var1.addElement(var0[var2]);
  95.          }
  96.  
  97.          return var1;
  98.       }
  99.    }
  100.  
  101.    protected static Vector convertToVector(Object[][] var0) {
  102.       if (var0 == null) {
  103.          return null;
  104.       } else {
  105.          Vector var1 = new Vector(var0.length);
  106.  
  107.          for(int var2 = 0; var2 < var0.length; ++var2) {
  108.             var1.addElement(convertToVector(var0[var2]));
  109.          }
  110.  
  111.          return var1;
  112.       }
  113.    }
  114.  
  115.    public int getColumnCount() {
  116.       return this.columnIdentifiers.size();
  117.    }
  118.  
  119.    public String getColumnName(int var1) {
  120.       if (this.columnIdentifiers != null && this.columnIdentifiers.size() > var1) {
  121.          Object var2 = this.columnIdentifiers.elementAt(var1);
  122.          return var2 == null ? super.getColumnName(var1) : var2.toString();
  123.       } else {
  124.          return super.getColumnName(var1);
  125.       }
  126.    }
  127.  
  128.    public Vector getDataVector() {
  129.       return this.dataVector;
  130.    }
  131.  
  132.    public int getRowCount() {
  133.       return this.dataVector.size();
  134.    }
  135.  
  136.    public Object getValueAt(int var1, int var2) {
  137.       Vector var3 = (Vector)this.dataVector.elementAt(var1);
  138.       return var3.elementAt(var2);
  139.    }
  140.  
  141.    public void insertRow(int var1, Vector var2) {
  142.       if (var2 == null) {
  143.          var2 = new Vector(this.getColumnCount());
  144.       } else {
  145.          var2.setSize(this.getColumnCount());
  146.       }
  147.  
  148.       this.dataVector.insertElementAt(var2, var1);
  149.       this.newRowsAdded(new TableModelEvent(this, var1, var1, -1, 1));
  150.    }
  151.  
  152.    public void insertRow(int var1, Object[] var2) {
  153.       this.insertRow(var1, convertToVector(var2));
  154.    }
  155.  
  156.    public boolean isCellEditable(int var1, int var2) {
  157.       return true;
  158.    }
  159.  
  160.    public void moveRow(int var1, int var2, int var3) {
  161.       if (var1 >= 0 && var1 < this.getRowCount()) {
  162.          if (var2 >= 0 && var2 < this.getRowCount()) {
  163.             if (var1 > var2) {
  164.                throw new ArrayIndexOutOfBoundsException();
  165.             } else if (var1 > var3 || var3 > var2) {
  166.                boolean var4 = var3 < var1;
  167.  
  168.                for(int var5 = var1; var5 <= var2; ++var5) {
  169.                   Object var6 = this.dataVector.elementAt(var5);
  170.                   this.dataVector.removeElementAt(var5);
  171.                   this.dataVector.insertElementAt(var6, var3);
  172.                   if (var4) {
  173.                      ++var3;
  174.                   }
  175.                }
  176.  
  177.                ((AbstractTableModel)this).fireTableDataChanged();
  178.             }
  179.          } else {
  180.             throw new ArrayIndexOutOfBoundsException(var2);
  181.          }
  182.       } else {
  183.          throw new ArrayIndexOutOfBoundsException(var1);
  184.       }
  185.    }
  186.  
  187.    public void newDataAvailable(TableModelEvent var1) {
  188.       ((AbstractTableModel)this).fireTableChanged(var1);
  189.    }
  190.  
  191.    public void newRowsAdded(TableModelEvent var1) {
  192.       int var2 = var1.getFirstRow();
  193.       int var3 = var1.getLastRow();
  194.       if (var2 < 0) {
  195.          var2 = 0;
  196.       }
  197.  
  198.       if (var3 < 0) {
  199.          var3 = this.getRowCount() - 1;
  200.       }
  201.  
  202.       for(int var4 = var2; var4 < var3; ++var4) {
  203.          ((Vector)this.dataVector.elementAt(var4)).setSize(this.getColumnCount());
  204.       }
  205.  
  206.       ((AbstractTableModel)this).fireTableChanged(var1);
  207.    }
  208.  
  209.    public void removeRow(int var1) {
  210.       this.dataVector.removeElementAt(var1);
  211.       ((AbstractTableModel)this).fireTableRowsDeleted(var1, var1);
  212.    }
  213.  
  214.    public void rowsRemoved(TableModelEvent var1) {
  215.       ((AbstractTableModel)this).fireTableChanged(var1);
  216.    }
  217.  
  218.    public void setColumnIdentifiers(Vector var1) {
  219.       if (var1 != null) {
  220.          this.columnIdentifiers = var1;
  221.       } else {
  222.          this.columnIdentifiers = new Vector();
  223.       }
  224.  
  225.       ((AbstractTableModel)this).fireTableStructureChanged();
  226.    }
  227.  
  228.    public void setColumnIdentifiers(Object[] var1) {
  229.       this.setColumnIdentifiers(convertToVector(var1));
  230.    }
  231.  
  232.    public void setDataVector(Vector var1, Vector var2) {
  233.       if (var1 == null) {
  234.          throw new IllegalArgumentException("setDataVector() - Null parameter");
  235.       } else {
  236.          this.dataVector = new Vector(0);
  237.          this.setColumnIdentifiers(var2);
  238.          this.dataVector = var1;
  239.          this.newRowsAdded(new TableModelEvent(this, 0, this.getRowCount() - 1, -1, 1));
  240.       }
  241.    }
  242.  
  243.    public void setDataVector(Object[][] var1, Object[] var2) {
  244.       this.setDataVector(convertToVector(var1), convertToVector(var2));
  245.    }
  246.  
  247.    public void setNumRows(int var1) {
  248.       if (var1 >= 0 && var1 != this.getRowCount()) {
  249.          int var2 = this.getRowCount();
  250.          if (var1 <= this.getRowCount()) {
  251.             this.dataVector.setSize(var1);
  252.             ((AbstractTableModel)this).fireTableRowsDeleted(this.getRowCount(), var2 - 1);
  253.          } else {
  254.             int var3 = this.getColumnCount();
  255.  
  256.             while(this.getRowCount() < var1) {
  257.                Vector var4 = new Vector(var3);
  258.                var4.setSize(var3);
  259.                this.dataVector.addElement(var4);
  260.             }
  261.  
  262.             ((AbstractTableModel)this).fireTableRowsInserted(var2, this.getRowCount() - 1);
  263.          }
  264.  
  265.       }
  266.    }
  267.  
  268.    public void setValueAt(Object var1, int var2, int var3) {
  269.       Vector var4 = (Vector)this.dataVector.elementAt(var2);
  270.       var4.setElementAt(var1, var3);
  271.       ((AbstractTableModel)this).fireTableChanged(new TableModelEvent(this, var2, var2, var3));
  272.    }
  273. }
  274.